package com.yumeng.common.utils;

import cn.hutool.core.util.RandomUtil;

import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;

/**
 *
 * @author wxd
 * @date 2025/10/16 10:46
 */
public class RandomUtils {

    /**
     * 获得随机数int值
     *
     * @return 随机数
     * @see Random#nextInt()
     */
    public static int randomInt() {
        return RandomUtil.randomInt();
    }

    /**
     * 获得随机数
     *
     * @return 随机数
     * @see ThreadLocalRandom#nextLong()
     * @since 3.3.0
     */
    public static long randomLong() {
        return RandomUtil.randomLong();
    }

    /**
     * 获得随机数[0, 1)
     *
     * @return 随机数
     * @see ThreadLocalRandom#nextDouble()
     * @since 3.3.0
     */
    public static double randomDouble() {
        return RandomUtil.randomDouble();
    }


    /**
     * 获得一个随机的字符串（只包含数字和字符）
     *
     * @param length 字符串的长度
     * @return 随机字符串
     */
    public static String randomString(final int length) {
        return RandomUtil.randomString(length);
    }

    /**
     * 获得一个只包含数字的字符串
     *
     * @param length 字符串的长度
     * @return 随机字符串
     */
    public static String randomNumbers(final int length) {
        return RandomUtil.randomNumbers(length);
    }
}
